A development tool such as, for example, VISUAL STUDIO™ from Microsoft Corp. of Redmond, Wash., enables development of a wide range of computing applications. Such applications may include, for example, web applications, extensible markup language (XML) applications, and traditional client applications. If an application is data-driven, then the application may have one or more associated data sources. Such data sources may be for example, databases, web services, extensible markup language (XML) documents, and business objects. Such data sources may be used to categorize, organize, and maintain lists that are useful to an application. To assist in the development process, the development tool enables the user to view, manage, and manipulate lists within such data sources. The term list, as used herein, refers to any ordered set of data such as, for example, a data table.
It is often desirable for a user to view and manage data from a number of related lists. Specifically, such lists may have a parent child relationship with one another. For example, a parent “Customers” list may store a number of records each corresponding to a particular customer. Each such record may include data for a set of customer attributes such as, for example, a customer identifier (“ID”), a name, and a zip code. The customer ID attribute in the Customers list is a distinct lookup key referred to as a primary key. Such customer attributes may correspond to the columns of the Customers list. The parent Customers list may be related to a child “Orders” list that stores a number of records each corresponding to a particular order. Each such record may include data for a set of order attributes such as, for example, an order ID, a customer ID, and a price. The customer ID attribute of the Orders list is a look up value in a foreign table, which is referred to as a foreign key. Such order attributes may correspond to the columns of the Orders list. A common operation that is performed with respect to such parent and child lists is to retrieve child data for a selected parent record. For example, a user may request data for all orders that have been placed by a selected customer. To identify such orders, the customer ID for the selected customer may be first looked up from the Customers list and then cross referenced against data for the customer ID attribute in the Orders list.
Conventional development tools may enable the user to view and manage child data through a series of complex manual steps. For example, the user may import a parent list and a related child list from a data source. The user may explicitly define a relationship between the lists within the development tool. The user may then add display controls to the development tool and bind the display controls to the lists. Finally, the user may write parameterized code to retrieve records within the child list that correspond to a selected parent record.
The execution of the steps set forth above is often a time consuming and tedious process that is likely to require a strong proficiency with the development tool. Thus, there is a need in the art for an automated task for exposing a child list. It is desired that the task may provide a simple user interface that enables the user to select a parent list, to view a set of available child lists corresponding to the selected parent list, and to select a particular child list from the set of available child lists. It is further desired that the set of available child lists be automatically compiled in response to the selection of the parent list. It is further desired that the task provide another user interface that enables the user to select a particular portion of the parent list for which to view corresponding child data. It is further desired that the corresponding child data may be automatically obtained in response to the selection of the portion of parent the list. Other features and advantages of the invention may become apparent from the following detailed description of the invention and accompanying drawings.